'\" et
.TH QMSG "1P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
.\"
.SH PROLOG
This manual page is part of the POSIX Programmer's Manual.
The Linux implementation of this interface may differ (consult
the corresponding Linux manual page for details of Linux behavior),
or the interface may not be implemented on Linux.
.\"
.SH NAME
qmsg
\(em send message to batch jobs
.SH SYNOPSIS
.LP
.nf
qmsg \fB[\fR-EO\fB] \fImessage_string job_identifier\fR...
.fi
.SH DESCRIPTION
To send a message to a batch job is to request that a server write a
message string into one or more output files of the batch job. A
message is sent to a batch job by a request to the batch server that
manages the batch job. The
.IR qmsg
utility is a user-accessible batch client that requests the sending of
messages to one or more batch jobs.
.P
The
.IR qmsg
utility shall write messages into the files of batch jobs by sending a
.IR "Job Message Request"
to the batch server that manages the batch job. The
.IR qmsg
utility shall not directly write the message into the files of the
batch job.
.P
The
.IR qmsg
utility shall send a
.IR "Job Message Request"
for those batch jobs, and only those batch jobs, for which a batch
.IR job_identifier
is presented to the utility.
.P
The
.IR qmsg
utility shall send
.IR "Job Message Request" s
for batch jobs in the order in which their batch
.IR job_identifier s
are presented to the utility.
.P
If the
.IR qmsg
utility fails to process any batch
.IR job_identifier
successfully, the utility shall proceed to process the remaining batch
.IR job_identifier s,
if any.
.P
The
.IR qmsg
utility shall not exit before a
.IR "Job Message Request"
has been sent to the server that manages the batch job that corresponds
to each successfully processed batch
.IR job_identifier .
.SH OPTIONS
The
.IR qmsg
utility shall conform to the Base Definitions volume of POSIX.1\(hy2017,
.IR "Section 12.2" ", " "Utility Syntax Guidelines".
.P
The following options shall be supported by the implementation:
.IP "\fB\-E\fP" 10
Specify that the message is written to the standard error of each batch
job.
.RS 10 
.P
The
.IR qmsg
utility shall write the message into the standard error of the batch
job.
.RE
.IP "\fB\-O\fP" 10
Specify that the message is written to the standard output of each
batch job.
.RS 10 
.P
The
.IR qmsg
utility shall write the message into the standard output of the batch
job.
.RE
.P
If neither the
.BR \-O
nor the
.BR \-E
option is presented to the
.IR qmsg
utility, the utility shall write the message into an
implementation-defined file. The conformance document for the
implementation shall describe the name and location of the
implementation-defined file. If both the
.BR \-O
and the
.BR \-E
options are presented to the
.IR qmsg
utility, then the utility shall write the messages to both standard
output and standard error.
.SH OPERANDS
The
.IR qmsg
utility shall accept a minimum of two operands,
.IR message_string
and one or more batch
.IR job_identifier s.
.P
The
.IR message_string
operand shall be the string to be written to one or more output files
of the batch job followed by a
<newline>.
If the string contains
<blank>
characters, then the application shall ensure that the string is
quoted. The
.IR message_string
shall be encoded in the portable character set (see the Base Definitions volume of POSIX.1\(hy2017,
.IR "Section 6.1" ", " "Portable Character Set").
.P
All remaining operands are batch
.IR job_identifier s
that conform to the syntax for a batch
.IR job_identifier
(see
.IR "Section 3.3.1" ", " "Batch Job Identifier").
.SH STDIN
Not used.
.SH "INPUT FILES"
None.
.SH "ENVIRONMENT VARIABLES"
The following environment variables shall affect the execution of
.IR qmsg :
.IP "\fILANG\fP" 10
Provide a default value for the internationalization variables that are
unset or null. (See the Base Definitions volume of POSIX.1\(hy2017,
.IR "Section 8.2" ", " "Internationalization Variables"
the precedence of internationalization variables used to determine the
values of locale categories.)
.IP "\fILC_ALL\fP" 10
If set to a non-empty string value, override the values of all the
other internationalization variables.
.IP "\fILC_CTYPE\fP" 10
Determine the locale for the interpretation of sequences of bytes of
text data as characters (for example, single-byte as opposed to
multi-byte characters in arguments).
.IP "\fILC_MESSAGES\fP" 10
.br
Determine the locale that should be used to affect the format and
contents of diagnostic messages written to standard error.
.IP "\fILOGNAME\fP" 10
Determine the login name of the user.
.SH "ASYNCHRONOUS EVENTS"
Default.
.SH STDOUT
None.
.SH STDERR
The standard error shall be used only for diagnostic messages.
.SH "OUTPUT FILES"
None.
.SH "EXTENDED DESCRIPTION"
None.
.SH "EXIT STATUS"
The following exit values shall be returned:
.IP "\00" 6
Successful completion.
.IP >0 6
An error occurred.
.SH "CONSEQUENCES OF ERRORS"
In addition to the default behavior, the
.IR qmsg
utility shall not be required to write a diagnostic message to standard
error when the error reply received from a batch server indicates that
the batch
.IR job_identifier
does not exist on the server. Whether or not the
.IR qmsg
utility waits to output the diagnostic message while attempting to
locate the job on other servers is implementation-defined.
.LP
.IR "The following sections are informative."
.SH "APPLICATION USAGE"
None.
.SH EXAMPLES
None.
.SH RATIONALE
The
.IR qmsg
utility allows users to write messages into the output files of running
jobs. Users, including operators and administrators, have a number of
occasions when they want to place messages in the output files of a
batch job. For example, if a disk that is being used by a batch job is
showing errors, the operator might note this in the standard error
stream of the batch job.
.P
The options of the
.IR qmsg
utility provide users with the means of placing the message in the
output stream of their choice. The default output stream for the
message\(emif the user does not designate an output stream\(emis
implementation-defined, since many implementations will provide, as
an extension to this volume of POSIX.1\(hy2017, a log file that shows the history of utility
execution.
.P
If users wish to send a message to a set of jobs that meet a selection
criteria, the
.IR qselect
utility can be used to acquire the appropriate list of job
identifiers.
.P
The
.BR \-E
option allows users to place the message in the standard error stream
of the batch job.
.P
The
.BR \-O
option allows users to place the message in the standard output stream
of the batch job.
.P
Historically, the
.IR qmsg
utility is an existing practice in the offerings of one or more
implementors of an NQS-derived batch system. The utility has been found
to be useful enough that it deserves to be included in this volume of POSIX.1\(hy2017.
.SH "FUTURE DIRECTIONS"
The
.IR qmsg
utility may be removed in a future version.
.SH "SEE ALSO"
.IR "Chapter 3" ", " "Batch Environment Services",
.IR "\fIqselect\fR\^"
.P
The Base Definitions volume of POSIX.1\(hy2017,
.IR "Section 6.1" ", " "Portable Character Set",
.IR "Chapter 8" ", " "Environment Variables",
.IR "Section 12.2" ", " "Utility Syntax Guidelines"
.\"
.SH COPYRIGHT
Portions of this text are reprinted and reproduced in electronic form
from IEEE Std 1003.1-2017, Standard for Information Technology
-- Portable Operating System Interface (POSIX), The Open Group Base
Specifications Issue 7, 2018 Edition,
Copyright (C) 2018 by the Institute of
Electrical and Electronics Engineers, Inc and The Open Group.
In the event of any discrepancy between this version and the original IEEE and
The Open Group Standard, the original IEEE and The Open Group Standard
is the referee document. The original Standard can be obtained online at
http://www.opengroup.org/unix/online.html .
.PP
Any typographical or formatting errors that appear
in this page are most likely
to have been introduced during the conversion of the source files to
man page format. To report such errors, see
https://www.kernel.org/doc/man-pages/reporting_bugs.html .
